\section{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{classai_1_1_a_i}{ai.AI} (Abstract class which \hyperlink{classai_1_1_a_i}{AI} agents must extend )}{\pageref{classai_1_1_a_i}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_attack_manager}{ai.general.AttackManager} (Manages engaging the enemy )}{\pageref{classai_1_1general_1_1_attack_manager}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_exploration_manager}{ai.general.ExplorationManager} (Manages what areas of the map should be explored )}{\pageref{classai_1_1general_1_1_exploration_manager}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_farm_manager}{ai.general.FarmManager} (Manages the farming of resources )}{\pageref{classai_1_1general_1_1_farm_manager}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1_game}{rts.Game} (Used to set up and run games between agents )}{\pageref{classrts_1_1_game}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1_game_state}{rts.GameState} (Provides read access to game elements used by AIs )}{\pageref{classrts_1_1_game_state}}{}
\item\contentsline{section}{\hyperlink{classtests_1_1_game_visual_simulation_test}{tests.GameVisualSimulationTest} (Runs a visualization of the game. This is probably the best place for debugging )}{\pageref{classtests_1_1_game_visual_simulation_test}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i}{ai.general.GeneralAI} (General \hyperlink{classai_1_1_a_i}{AI} built to play any generically defined RTS game )}{\pageref{classai_1_1general_1_1_general_a_i}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_enemy}{ai.general.GeneralAIEnemy} (Model of enemy units )}{\pageref{classai_1_1general_1_1_general_a_i_enemy}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_exploration}{ai.general.GeneralAIExploration} (Model of the map that needs to be explored )}{\pageref{classai_1_1general_1_1_general_a_i_exploration}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_farm}{ai.general.GeneralAIFarm} (A farm is a place where one can gather resources it should define pathways for farmers to take )}{\pageref{classai_1_1general_1_1_general_a_i_farm}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_object}{ai.general.GeneralAIObject} (Objects that ai units can interact with )}{\pageref{classai_1_1general_1_1_general_a_i_object}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_production}{ai.general.GeneralAIProduction} (A task that needs to be produced )}{\pageref{classai_1_1general_1_1_general_a_i_production}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_town}{ai.general.GeneralAITown} (A group of buildings that are all together. Generally, towns are a stockpile, resources, and other buildings nearby )}{\pageref{classai_1_1general_1_1_general_a_i_town}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_general_a_i_unit}{ai.general.GeneralAIUnit} (An \hyperlink{classai_1_1_a_i}{AI} unit used by the \hyperlink{classai_1_1general_1_1_general_a_i}{GeneralAI}. Allows for more sophisticated behaviors, like order queuing )}{\pageref{classai_1_1general_1_1_general_a_i_unit}}{}
\item\contentsline{section}{\hyperlink{classai_1_1montecarlo_1_1_monte_carlo}{ai.montecarlo.MonteCarlo} (Chooses moves based on a Monte Carlo simulation )}{\pageref{classai_1_1montecarlo_1_1_monte_carlo}}{}
\item\contentsline{section}{\hyperlink{classutil_1_1_pair_3_01_t1_00_01_t2_01_4}{util.Pair$<$ T1, T2 $>$} (A pair of objects )}{\pageref{classutil_1_1_pair_3_01_t1_00_01_t2_01_4}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1_physical_game_state}{rts.PhysicalGameState} (Runs all of the logic of the game )}{\pageref{classrts_1_1_physical_game_state}}{}
\item\contentsline{section}{\hyperlink{classgui_1_1_physical_game_state_panel}{gui.PhysicalGameStatePanel} (A graphical display of the game )}{\pageref{classgui_1_1_physical_game_state_panel}}{}
\item\contentsline{section}{\hyperlink{classai_1_1util_1_1_player_action}{ai.util.PlayerAction} (Abstraction of \char`\"{}player actions\char`\"{} for some AIs )}{\pageref{classai_1_1util_1_1_player_action}}{}
\item\contentsline{section}{\hyperlink{classai_1_1util_1_1_player_action_generator}{ai.util.PlayerActionGenerator} (Generates a list of all possible \hyperlink{classai_1_1util_1_1_player_action}{PlayerAction} )}{\pageref{classai_1_1util_1_1_player_action_generator}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_production_manager}{ai.general.ProductionManager} (Manages the various productions that are needed )}{\pageref{classai_1_1general_1_1_production_manager}}{}
\item\contentsline{section}{\hyperlink{classai_1_1_random_a_i}{ai.RandomAI} (Makes random moves )}{\pageref{classai_1_1_random_a_i}}{}
\item\contentsline{section}{\hyperlink{classai_1_1_random_biased_a_i}{ai.RandomBiasedAI} (Chooses random moves, but without a uniform probability for each move )}{\pageref{classai_1_1_random_biased_a_i}}{}
\item\contentsline{section}{\hyperlink{classutil_1_1_sampler}{util.Sampler} (Samples from a given distribution )}{\pageref{classutil_1_1_sampler}}{}
\item\contentsline{section}{\hyperlink{classai_1_1evaluation_1_1_simple_evaluation_function}{ai.evaluation.SimpleEvaluationFunction} (A simple evaluation function, (eg for use with Monte Carlo agents) )}{\pageref{classai_1_1evaluation_1_1_simple_evaluation_function}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_task_manager}{ai.general.TaskManager} (Task managers manage the tasks that units can be assigned to )}{\pageref{classai_1_1general_1_1_task_manager}}{}
\item\contentsline{section}{\hyperlink{classtests_1_1_tournament}{tests.Tournament} (Runs a Round-\/Robin \hyperlink{classtests_1_1_tournament}{Tournament} against bots )}{\pageref{classtests_1_1_tournament}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_town_manager}{ai.general.TownManager} (A defense manager, mostly )}{\pageref{classai_1_1general_1_1_town_manager}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_traffic}{ai.general.Traffic} (\hyperlink{classai_1_1general_1_1_traffic}{Traffic} used by units so that complex routing can be done where they do not collide with each other )}{\pageref{classai_1_1general_1_1_traffic}}{}
\item\contentsline{section}{\hyperlink{classai_1_1general_1_1_traffic_map}{ai.general.TrafficMap} (\hyperlink{classai_1_1general_1_1_traffic}{Traffic} used by units so that complex routing can be done where they do not collide with each other )}{\pageref{classai_1_1general_1_1_traffic_map}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit}{rts.units.Unit} (Read access to a unit )}{\pageref{classrts_1_1units_1_1_unit}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit_action}{rts.units.UnitAction} (This is an action that a unit can take )}{\pageref{classrts_1_1units_1_1_unit_action}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit_definition}{rts.units.UnitDefinition} (A general unit defintiion that could turn out to be anything )}{\pageref{classrts_1_1units_1_1_unit_definition}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit_definition_manager}{rts.units.UnitDefinitionManager} (All of the unit definitions )}{\pageref{classrts_1_1units_1_1_unit_definition_manager}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit_stats}{rts.units.UnitStats} (The stats that an individual unit has (this is an internal use only class) )}{\pageref{classrts_1_1units_1_1_unit_stats}}{}
\item\contentsline{section}{\hyperlink{classrts_1_1units_1_1_unit_upgrade}{rts.units.UnitUpgrade} (The changes that get made to a unit when it upgrades )}{\pageref{classrts_1_1units_1_1_unit_upgrade}}{}
\end{DoxyCompactList}
